/**
 * @param {string[]} strs
 * @return {string[][]}
 */
// 排序加哈希的形式 首先将数组中每个字符串进行排序
// 排序后 然后排序后的字符串作为key  排序后key相同则为字母异位词
var groupAnagrams = function(strs) {
    const map = new Map()
    for (let str of strs) {
        /*let array = Array.from(str)
        array.sort()
        let key = array.toString()*/
        // 上面代码简写调用API
        let key = str.split("").sort().join()
        // return key
        // 创建一个新的数组进行分组
        let list = map.has(key) ? map.get(key) : new Array();
        list.push(str)
        map.set(key, list)
    }
    //return map
    return Array.from(map.values())
};
let strs = ["eat", "tea", "tan", "ate", "nat", "bat"]
console.log(groupAnagrams(strs))